The present invention relates generally to wireless communications. More particularly, the invention is directed to running Java software applications in a wireless communication system.
Wireless communication devices such as cellular phones are becoming much more sophisticated as the technology evolves. Presently, wireless devices have the capability to not only download Internet web pages, but also to download application software. The Mobile Station Application Execution Environment (MExE) standard, such as can be found in 3GPP TS 22.057, xe2x80x9c3rd Generation Partnership Project; Technical Specification Group Services and Systems Aspects; Mobile Execution Environment (MExE); Service description; Stage 1 (Release 4), version 4.0.0, (2000-10) and 3GPP TS 23.057, xe2x80x9c3rd Generation Partnership Project; Technical Specification Group Terminals; Mobile Station Application Execution Environment (MExE); Functional description; Stage 2 (Release 4), version 4.0.0, (2000-12), is an evolving standard that defines a system for service providers to interface with a client""s mobile station (e.g. cellular phone).
This interactive capability allows the transfer of content or executable applications between a service provider and a mobile station. However, the capabilities and display sizes presently available in mobile stations (e.g. cellular phones) are limited such that the service provider must modify the content so that the mobile station can properly view the content or execute the applications. A service provider can upgrade applications and target new applications to clients, depending on the mobile station capability. The MExE system is operable on a Global System for Mobile (GSM) communication system, as is known in the art, and utilizes a hypertext transfer protocol (HTTP) similar to that used for Wireless Application Protocols (WAP), also known in the art. Both systems are also applicable to the new Universal Mobile Telecommunication System (UMTS). However, where WAP operates with a specific subset of capabilities, such as text and graphics, MExE allows full Java, JavaPhone or the subset of personal Java (pJava) application programming.
The implementation of Java applications requires increased memory and processing requirements in a mobile station. In addition, full page Internet web pages would be difficult to show on the displays of existing mobile stations. To address this problem, the MExE system provides capability and content negotiation wherein the service provider and mobile station inform each other of the content, support and capability each has available. In order to determine if a mobile station has adequate resources, the MExE standard defines xe2x80x9cclassmarksxe2x80x9d that define available capability, such as the capability of WAP functionality only or full-fledged Java functionality, for example.
Generally, the mobile station will indicate its capabilities and the user""s preferences for content delivery to the service provider during capability negotiations before a transfer of content or applications. The user preferences are includes in a user profile. Capability negotiation includes the transfer of a resource description framework (RDF) file between a mobile station and the service provider to extract necessary capability and user preference information. Generally, the RDF file is stored in the mobile station, on a removable subscriber identification module (SIM) card, or remotely on the service provider network such as at a Uniform Resource Locator (URL) which can be pointed to by the mobile station. The RDF file contains a description of the capabilities of the mobile station, including content format along with headers and other identifiers, and allows the mobile station to conduct full capability negotiations with the service provider, as is known in the art. The RDF file can also contain the user profile such that the service provider can modify content or applications to suit the user""s tastes, within the capability of the mobile station and service provider. The user profile may also be located in another file type, other than RDF.
However, mobile capability and user preferences often change. For example, users can now change mobile stations just by moving their SIM card from phone to phone. If the SIM card is carrying the RDF file, then incorrect capability information may be transferred to the service provider. In addition, a user may want to change their user profile to include completely different user preferences for a mobile station. Providing these updates requires editing software to be resident on the mobile station. Unfortunately, the mobile station has limited memory resources, and such editing software would not be utilized very often, leading to memory use inefficiencies in the mobile station.
What is needed is a method and apparatus to better utilization memory resources in a mobile station, with changing capabilities and user preferences, running in a MExE environment. Further, it would be an advantage to dynamically download applications in a mobile station. Moreover, it would be an advantage to have a mobile station that could run applications locally without the need for recompilation for specific target processors in the mobile station. Specifically, it would be advantageous to have the mobile station download and run editing software without the need for recompilation.